专利摘要:

公开号:NL2006518A
申请号:NL2006518
申请日:2011-04-01
公开日:2011-11-21
发明作者:Niels Reinder Sterrenburg;Kamen Hristov Chilov;Rogatus Hubertus Hermanus Wester
申请人:Asml Netherlands Bv;
IPC主号:
专利说明:

Lithographic Apparatus and Memory Leak Detection Method
Field
[0001] The present invention relates to a lithographic apparatus, an apparatus and a method for memory leak detection in such apparatus.
Background
[0002] A lithographic apparatus is a machine that applies a desired pattern onto a substrate, usually onto a target portion of the substrate. A lithographic apparatus can be used, for example, in the manufacture of integrated circuits (ICs). In that instance, a patterning device, which is alternatively referred to as a mask or a reticle, may be used to generate a circuit pattern to be formed on an individual layer of the IC. This pattern can be transferred onto a target portion (e.g. including part of, one, or several dies) on a substrate (e.g. a silicon wafer). Transfer of the pattern is typically via imaging onto a layer of radiation-sensitive material (resist) provided on the substrate. In general, a single substrate will contain a network of adjacent target portions that are successively patterned. Known lithographic apparatus include so-called steppers, in which each target portion is irradiated by exposing an entire pattern onto the target portion at one time, and so-called scanners, in which each target portion is irradiated by scanning the pattern through a radiation beam in a given direction (the “scanning”-direction) while synchronously scanning the substrate parallel or anti-parallel to this direction, it is also possible to transfer the pattern from the patterning device to the substrate by imprinting the pattern onto the substrate.
[0003] In the lithographic apparatus, many parts are controlled by using a processing device or processor, i.e. a data processing device such as a microprocessor, which is provided with suitable software instructions in order to control a part of the lithographic apparatus. Many parts of the lithographic apparatus arc controlled by a processing device or processor, examples include a substrate stage (whereby a position in sensed and actuators are driven under control of the processing device), a support to hold a patterning device, lens manipulators of the projection system, a source of radiation such as a laser, as well as many other sensors, actuators, etc.
[0004] The software (i.e. a program including program instructions) commonly includes a plurality of tasks, also referred to as processes. The processes, each executing program instructions, are executed by the programmable device or processor in a time shared manner, possible in combination with parallel processing, whereby the processing device or processor includes a plurality of data processing units, such as microprocessors, CPU’s, etc configured to operate in parallel. The different processes may each have assigned thereto a part of a working memory (e.g. Random Access Memory- RAM) of the lithographic apparatus. Thereto, the processes may each request an allocation of working memory.
[0005] Generally, following completion of a task by a process, or completion of the process, an allocated working memory part may be released again by a corresponding working memory free request of the process. However, allocated working memory parts may not be released for whatever cause, such as errors in the software and/or the execution thereof, which may cause a part of the working memory to be blocked for use by any process, including the process that allocated the memory. Such blocking of parts of the working memory are referred to as memory leaks. In case such errors tend to repeat over a time span, an increasing part of the working memory may be blocked, which may cause system performance degradation or malfunctioning of the software in case the remaining available working memory is insufficient for execution of the required processes.
SUMMARY
[0006] It is desirable to detect memory leaks.
[0007] According to an aspect of the invention, there is provided a lithographic apparatus arranged to transfer a pattern from a patterning device onto a substrate, the lithographic apparatus including one or more processors to control a part of the lithographic apparatus, a program memory to store one or more programs, and one or more working memories to be used by the one or more processors during execution of the program, the program including program instructions which, when executed, make the one or more processors to carry out the steps of: monitoring a process of the program for execution of wOrking memory allocation requests and working memory free requests, storing a trace in a trace memory, in the event of an execution by the process of a working memory allocation request, deleting a stored trace from the trace memory, in the event of an execution by the process of a working memory free request, and deriving a working memory occupation from the traces as stored in the trace memory.
[0008] According to an aspect of the invention, there is provided an apparatus including a processing device, a program memory to store a program including program instructions, and a working memory to be used by the program during execution thereof, the program including program instructions which, when executed, make the processor to carry out the steps of: monitoring a process of the program for execution of w'orking memory allocation requests and working memory free requests, storing a trace in a trace memory, in the event of an execution by the process of a working memory allocation request, deleting a stored trace from the trace memory', in the event of an execution by the process of a working memory free request, and deriving a working memory occupation from the traces as stored in the trace memory.
[0009] According to an aspect of the invention, there is provided a method to detect a memory leak in an apparatus, the apparatus including a processor, a program memory to store a program including program instructions, and a working memory to be used by the program during execution thereof, the method including the steps of: monitoring a process of the program for execution of working memory allocation requests and working memory free requests, storing a trace in a trace memory, in the event of an execution by the process of a working memory allocation request, deleting a stored trace from the trace memory, in the event of an execution by the process of a working memory free request, and deriving a working memory occupation from the traces as stored in the trace memory.
RRTF.F DESCRIPTION OF THE DRAWINGS
[0010] Embodiments of the invention will now be described, by way of example only, with reference to the accompanying schematic drawings in which corresponding reference symbols indicate corresponding parts, and in which:
[0011] Figure 1 depicts a lithographic apparatus in which an embodiment of the invention may be provided;
[0012] Figure 2 depicts a schematic block diagram of a processor and memory for use in the lithographic apparatus in accordance with Figure 1;
[0013] Figure 3 depicts a schematic view of a working memory allocation; and
[0014] Figure 4 depicts a schematic view of a trace memory contents.
DFTATT F,D DESCRIPTION
[0015] Figure 1 schematically depicts a lithographic apparatus according to one embodiment of the invention. The apparatus includes an illumination system (illuminator) IL configured to condition a radiation beam B (e.g. UV radiation or EUV radiation); a patterning device support or support stmcture (e.g. a mask table) MT constructed to support a patterning device (e.g. a mask) MA and connected to a first positioner PM configured to accurately position the patterning device in accordance with certain parameters; a substrate table (e.g. a wafer table) WT constructed to hold a substrate (e.g. a resist-coated wafer) W and connected to a second positioner PW configured to accurately position the substrate in accordance with certain parameters; and a projection system (e.g. a refractive projection lens system) PS configured to project a pattern imparted to the radiation beam B by patterning device MA onto a target portion C (e.g. including one or more dies) of the substrate W.
[0016] The illumination system may include various types of optical components, such as refractive, reflective, magnetic, electromagnetic, electrostatic or other types of optical components, or any combination thereof, to direct, shape, or control radiation.
[0017] The support structure holds the patterning device in a manner that depends on the orientation of the patterning device, the design of the lithographic apparatus, and other conditions, such as for example whether or not the patterning device is held in a vacuum environment. The support stmcture can use mechanical, vacuum, electrostatic or other clamping techniques to hold the patterning device. The support stmcture may be a frame or a table, for example, which may be fixed or movable as required. The support stmcture may ensure that the patterning device is at a desired position, for example with respect to the projection system. Any use of the terms “reticle” or “mask” herein may be considered synonymous with the more general term “patterning device.”
[0018] The term “patterning device” used herein should be broadly interpreted as referring to any device that can be used to impart a radiation beam with a pattern in its cross-section such as to create a pattern in a target portion of the substrate. It should be noted that the pattern imparted to the radiation beam may not exactly correspond to the desired pattern in the target portion of the substrate, for example if the pattern includes phase-shifting features or so called assist features. Generally, the pattern imparted to the radiation beam will correspond to a particular functional layer in a device being created in the target portion, such as an integrated circuit.
[0019] The patterning device may be transmissive or reflective. Examples of patterning devices include masks, programmable mirror arrays, and programmable LCD panels. Masks are well known in lithography, and include mask types such as binary, alternating phase-shift, and attenuated phase-shift, as well as various hybrid mask types. An example of a programmable mirror array employs a matrix arrangement of small mirrors, each of which can be individually tilted so as to reflect an incoming radiation beam in different directions. The tilted miiTors impart a pattern in a radiation beam which is reflected by the mirror matrix.
[0020] The term “projection system” used herein should be broadly interpreted as encompassing any type of projection system, including refractive, reflective, catadioptric, magnetic, electromagnetic and electrostatic optical systems, or any combination thereof, as appropriate for the exposure radiation being used, or for other factors such as the use of an immersion liquid or the use of a vacuum. Any use of the term “projection lens” herein may be considered as synonymous with the more general term “projection system”.
[0021] As here depicted, the apparatus is of a transmissive type (e.g. employing a transmissive mask). Alternatively, the apparatus may be of a reflective type (e.g. employing a programmable mirror array of a type as referred to above, or employing a reflective mask).
[0022] The lithographic apparatus may be of a type having two (dual stage) or more substrate tables (and/or two or more mask tables). In such “multiple stage” machines the additional tables may be used in parallel, or preparatory steps may be carried out on one or more tables while one or more other tables are being used for exposure.
[0023] The lithographic apparatus may also be of a type wherein at least a portion of the substrate may be covered by a liquid having a relatively high refractive index, e.g. water, so as to fill a space between the projection system and the substrate. An immersion liquid may also be applied to other spaces in the lithographic apparatus, for example, between the mask and the projection system. Immersion techniques are well known in the art for increasing the numerical aperture of projection systems. The term “immersion” as used herein does not mean that a stmcture, such as a substrate, must be submerged in liquid, but rather only means that liquid is located between the projection system and the substrate during exposure.
[0024] Referring to Figure 1, the illuminator IL receives a radiation beam from a radiation source SO. The source and the lithographic apparatus may be separate entities, for example when the source is an excimer laser. In such cases, the source is not considered to form part of the lithographic apparatus and the radiation beam is passed from the source SO to the illuminator IL with the aid of a beam delivery system BD including, for example, suitable directing mirrors and/or a beam expander. In other cases the source may be an integral part of the lithographic apparatus, for example when the source is a mercury lamp. The source SO and the illuminator IL, together with the beam delivery system BD if required, may be referred to as a radiation system.
[0025] The illuminator IL may include an adjuster AD to adjust the angular intensity distribution of the radiation beam. Generally, at least the outer and/or inner radial extent (commonly referred to as σ-outer and σ-inner, respectively) of the intensity distribution in a pupil plane of the illuminator can be adjusted. In addition, the illuminator IL may include various other components, such as an integrator IN and a condenser CO. The illuminator may be used to condition the radiation beam, to have a desired uniformity and intensity distribution in its cross-section.
[0026] The radiation beam B is incident on the patterning device (e.g., mask) ΜΛ, which is held on the support structure (e.g., mask table) MT, and is patterned by the patterning device. Having traversed the patterning device (e.g. mask) MA, the radiation beam B passes through the projection system PS, which focuses the beam onto a target portion C of the substrate W. With the aid of the second positioner PW and position sensor IF (e.g. an interferometric device, linear encoder or capacitive sensor), the substrate table WT can be moved accurately, e.g. so as to position different target portions C in the path of the radiation beam B. Similarly, the first positioner PM and another position sensor (which is not explicitly depicted in Figure 1) can be used to accurately position the patterning device (e.g. mask) MA with respect to the path of the radiation beam B, e.g. after mechanical retrieval from a mask library, or during a scan. In general, movement of the patterning device support or support structure (e.g. mask table) MT may be realized with the aid of a long-stroke module (coarse positioning) and a short-stroke module (fine positioning), which form part of the first positioner PM. Similarly, movement of the substrate table WT may be realized using a long-stroke module and a short-stroke module, which form part of the second positioner PW. In the case of a stepper (as opposed to a scanner) the patterning device support or support structure (e.g. mask table) MT may be connected to a short-stroke actuator only, or may be fixed. Patterning device (e.g. mask) MA and substrate W may be aligned using patterning device alignment marks Ml, M2 and substrate alignment marks PI, P2. Although the substrate alignment marks as illustrated occupy dedicated target portions, they may be located in spaces between target portions (these are known as scribe-lane alignment marks). Similarly, in situations in which more than one die is provided on the patterning device (e.g. mask) MA, the patterning device alignment marks may be located between the dies.
[0027] The depicted apparatus could be used in at least one of the following modes: 1. In step mode, the patterning device support or support stmcture (e.g. mask table) MT and the substrate table WT are kept essentially stationary, while an entire pattern imparted to the radiation beam is projected onto a target portion C at one time (i.e. a single static exposure). The substrate table WT is then shifted in the X and/or Y direction so that a different target portion C can be exposed. In step mode, the maximum size of the exposure field limits the size of the target portion C imaged in a single static exposure.
2. In scan mode, the patterning device support or support structure (e.g. mask table) MT and the substrate table WT are scanned synchronously while a pattern imparted to the radiation beam is projected onto a target portion C (i.e. a single dynamic exposure). The velocity and direction of the substrate table WT relative to the patterning device support (e.g. mask table) MT may be determined by the (de-)magnification and image reversal characteristics of the projection system PS. In scan mode, the maximum size of the exposure field limits the width (in the non-scanning direction) of the target portion in a single dynamic exposure, whereas the length of the scanning motion determines the height (in the scanning direction) of the target portion.
3. In another mode, the patterning device support or support stmcture (e.g. mask table) MT is kept essentially stationary holding a programmable patterning device, and the substrate table WT is moved or scanned while a pattern imparted to the radiation beam is projected onto a target portion C. In this mode, generally a pulsed radiation source is employed and the programmable patterning device is updated as required after each movement of the substrate table WT or in between successive radiation pulses during a scan. This mode of operation can be readily applied to maskless lithography that utilizes programmable patterning device, such as a programmable mirror array of a type as referred to above.
[0028] Combinations and/or variations on the above described modes of use or entirely different modes of use may also be employed.
[0029] Figure 2 depicts a schematic view of a processing device or processor, in this example a microprocessor uP, which is connected to a plurality of memories using a data bus structure. The memories include a programming memory PMY, such as a Read Only Memory (ROM), a magnetic disk memory, a programmable memory, etc, in which programming instructions of the program are stored, a working memory such as a Random Access Memory (RAM) for use by the program during execution thereof, a stack ST for storage of microprocessor data, data of processes, etc. (e.g. intermediate results, processor data to be temporarily stored in case an interrupt is handled, processor data to be temporarily stored in case another process of the program is to be handled, etc). Also, a stacktrace memory STR is provided, as will be described in more detail below. The stacktrace memory STR may for example be formed by a separate memory, such as a separate random access memory, or may be formed by a part of the working memory WMY that has been allocated for this purpose. Further inputs and or outputs of the processing device or processor may be provided, such as I/O ports (not shown in Figure 2). In an embodiment, the stack ST and the program memory PMY may also be part of the same physical memory as the working memory WMY.
[0030] Figure 3 depicts a schematic representation of a working memory allocation. The working memory includes in this example an address space of 0000 to FFFF (hexadecimal representation). An address range of 0000 to 7FFF of the working memory is allocated to permanently active processes PI, P2, P3 and P4. Parts of the address space from 8000 to FFFF are assigned to processes P8, P12 and P7 (it is noted that in this example arbitrary names are given to the processes and arbitrary address ranges are assigned to them in the working memory). Thereto, the processes may execute a memory allocation request, which initiates an allocation of working memory to the process, and upon completion of a task by the process, the process may execute a memory free request so as to free the allocated memory.
[0031] In accordance with an embodiment of the invention, a monitoring is provided so as to monitor a process (i.e. one of the processes) of the program for the execution of working memory allocation requests and working memory free requests. When a memory allocation request is executed or to be executed, a trace (e.g. a stacktrace) of the processing device or processor is stored in the trace memory (e.g. stacktrace memory) STR. A schematic example is depicted in Figure 4. In Figure 4, a plurality of traces (in this example stacktraces) as stored in the trace memory (in this example stacktrace memory) are depicted. Firstly, traces of memory allocations by ongoing processes PI, P2, P3 and P4 are stored. Furthermore, traces of processes P8, P12, P8, P7, P8 are stored.
[0032] The above mentioned stacktrace STR may be considered an example of a trace: in general, any trace that includes information that enables to retrieve the memory allocation, e.g. that enables to retrieve the location of an original call of the allocation, may be used. Many different examples of traces that may be used in order to be able to trace the memory allocation, may be provided. As an example, the trace that is stored may contain a pointer to the allocated memory, a size of the allocated memory, a timestamp, and stack data. As another example, the trace may contain caller function information (e.g. a stack trace), chunk information (e.g.
pointer, size and timestamp). Thus, although the example disclosed here refers to a stacktrace and a stacktrace memory, it is to be understood that any trace may be applied.
[0033] The traces may each contain a pointer (being a unique identifier) to the working memory part that is allocated. Also, an indication of the size of the allocated memory may be included. When a memory free request is executed or to be executed, a stored trace (such as the stored trace of the corresponding memory allocation request) is deleted from the trace memory STR. Hence, with each memory allocation request, the contents of the trace memory increases, while it decreases with each memory free request. Thus, the trace memory thereby provides an overview of the memory allocations that have not (yet) been freed. It will be appreciated that many embodiments are possible. For example, traces of a process may be stored in a part of the memory of that same process. Thus, instead of a central trace memory, storage of the traces may take place in a distributed manner, e.g. per process. Thus, the terms process, memory, program memory, processor stack, (stack)trace, etc should be understood so as to include any kind of distributed concept also.
[0034] Firstly, memory leak may have occurred in case the contents of the trace memory increases over time - normally, with stable, correct working software, the allocated memory should in average be stable - as an increase in the contents stored in the trace memory implies that more allocation requests have occurred than memory free requests. Secondly, if at the deleting, the trace is deleted of the corresponding memory allocation request, memory leak may further be derived from the contents of the trace memory: each entry in the trace memory includes a copy of the trace of the processing device or processor at the execution of the memory allocation request trace including a pointer to the allocated working memory part. Hence, by inspecting the contents of the trace memory, it can be derived from which point in the program have resulted in memory allocation requests, that have not been undone, i.e. have not been freed. For example, in case it appears that a certain process, for example P8 as depicted in Figure 4 repetitively leaves behind entries in the trace memory, it may be derived therefrom that this process repetitively allocates memory, and apparently does not free that memory, as otherwise the entries in the trace memory would have been deleted again. Also, the repetitive storing of a trace originating from process P8 will increase over time the total size of the entries as stored in the trace memory. Thus, the working memory occupation may be derived from the traces in the trace memory. If the number increases over time, or if allocation requests of a same process are found to be stored two or more times, memory leak may have occurred, the finding of a plurality of traces relating to a same process in the software (e.g. in response to a seeking for a repetition of allocation requests from the same process) may point towards that process as a cause of a potential memory leak.
[0035] A starting command (“triggef’) may be given, so as to start performing the steps as desired. Hence, the steps may be omitted in case of normal operation, and may be activated as desired. In case a cause of memory leak is expected in a subset of the processes of the program, a flag may be set in a shared memory part for the corresponding processes. Each time a memory allocation request or a memory' free request is to be executed, the flag of the corresponding process which makes the request, is read, and the steps of storing and deleting are only performed in dependency on the value of the flag, i.e. if so indicated by the flag. Hence, any additional load (even if minimal) to unsuspected processes is minimized. The tracing facilities may be included in the program at a compilation thereof, whereby a linker is applied to create a so called memory allocation/memory free wrapper. Instead of the flag in the shared memory part, any other trigger may be applied.
[0036] Generally, a benefit of the concept for detecting memory leak, as described in this document, is that it may involve a very low overhead, in other words provide a low additional load on the processing device or processor. Therefore, the steps in accordance with an embodiment of the invention may for example be carried out during an operation of the apparatus, such as the lithographic apparatus. As a result, an analysis may be made in a “live“ situation, which may enable to locate a problem of memory leak effectively, as the operating conditions of the program may be hardly affected. Therefore, if a memory problem would be detected in an apparatus, for example a lithographic apparatus, in operation, such as at a client, the process as described in this document may be applied (e.g. by remote activation) in order to find a cause of the memory leak, thereby possibly allowing to effectively trace the leak problem, as the problem may be traced in a same environment and operating conditions where the memory leak problem occurred.
[0037] The above described evaluation may be performed by inspecting a contents of the trace memory in a given beginning state of the lithographic apparatus, start a certain operation of the lithographic apparatus (such as irradiating a wafer) and upon completion of the operation, inspecting the contents of the trace memory again. If at the end of the operation, the lithographic apparatus is back in the same beginning state, it is to be expected that a memory allocation situation is the same or similar to an allocation situation before the start of the operation, as substantially all processes involved in the operation should have been completed, hence should have freed the memory allocated by them. Hence, differences in the trace memory contents before and after the operation may hint towards possible memory leak. The beginning state where the tracing is started by a corresponding trigger, may for example be at a finalizing of a processing of a batch by the lithographic apparatus. It may be assumed that, with a correct functioning of the program, all memory other than the memory allocated at a startup of the program, has been freed again at the finalizing of the processing of the batch. It is also possible that at the start of the operation, e.g. in response to a starting command, data is stored in the trace memory that enables to retrieve a moment (condition, state and/or time) at which the starting command was provided and/or indicating the start or completion of the operation, in order to facilitate an analysis of the trace memory contents later. Any type of operation of the lithographic apparatus may thus be monitored, whereby the tracing is started with the starting command and stopped with a stop command. In an embodiment, a substantially cyclical operation is monitored, as in such a substantially cyclical operation it is to be expected that the lithographic apparatus returns to its beginning state upon completion of the operation, hence would return to a same state of memory allocation. Thus the starting command may be provided at the start of the (e.g. substantially cyclical) operation and the stop command may be provided at the end of this operation of the lithographic or other apparatus. The starting command and/or the stop command may be provided as program instructions in the program, and/or may be activated by a user. Alternatively or in addition to the above, data may be stored in the trace memory that enables to retrieve an operating state of the lithographic apparatus, the program being arranged to store the data enabling to retrieve the operating state of the lithographic apparatus at a beginning and/or at a completion of an operation by the lithographic apparatus. Thus, the monitoring of the memory allocation may be continued over a time period, while in that time period one of more substantially cyclical operations are performed by the lithographic apparatus. Each time the operation, such as the cyclical operation, is completed and/or is about to start, data is stored in the trace memory that signals this event, which may be of assistance in an analysis of the memory allocation/memory free behavior per (e.g. cyclical) operation. Production runs may be monitored, while the contents of the trace memory may be analyzed at a later moment in time. Examples of a cyclical operation may include an irradiation of a wafer, a scanning of a die, a processing of a batch of wafers, or any other task.
[0038] Evaluation of the trace memory contents may be performed by a person or automatically, and may take place on site or remotely by transmitting a contents of the trace memory, for example via a remote maintenance and control facility. Thereby, a diagnosis of memory leak problems may be performed remotely. A report may be generated in response to a reporting trigger. The evaluation of the trace memory contents may also be performed automatically (by software) and a report being generated.
[0039] Embodiments of the invention may be used in a lithographic apparatus or in any apparatus (such as an industrial apparatus) that is controlled by a processing device or processor. With the lithographic apparatus, the apparatus and the method in accordance with an embodiment of the invention, the same or similar benefits may be achieved and the same or similar embodiments may be provided for each thereby achieving same or similar effects.
[0040] In the context of this document, the processing device or processor may include any type of data processing device or data processor, such as a microprocessor, microcontroller, or other programmable device. The processor may also include a plurality of data processors, such as a dual core or multi core microprocessor, or a plurality of microprocessors such as in distributed computing. The program memory may include any type of memory such as a Read Only Memory (ROM), a magnetic disk memory, an optical disk memory such as a CD-ROM, a so called solid state (RAM) disk, etc. The term memory allocation request is to be understood as to refer to a request for allocation of a part (having a standard size or having a size as specified in the request) of the working memory. The terms memory allocation request and memory free request should be understood as to refer to allocation and freeing of (parts of the) working memory. The program may include any type of microprocessor readable program instructions, such as instructions in assembly or (e.g. compiled from) a high level programming language. The program may but not needs to be endless, i.e. may include an infinite repetition. The process may include a subroutine, an interrupt routine, a task, a software process, or any other set of programming instructions that, when executed by the processing device, allow the processing device to perform a certain activity. The part of the lithographic apparatus controlled by the processor may be any controllable part, such as the substrate stage (wafer table), the mask stage (support), the optical source, an air or temperature conditioning device, etc. Also, the processor may control plural parts so as to make them to perform an operation, such as a wafer scanning in conjunction. Further, the processor may control individual sensors, actuators, etc. and/or may control other processing devices that in turn control sub parts of the lithographic apparatus (such as a stage motor controller etc.).
[0041] Although specific reference may be made in this text to the use of lithographic apparatus in the manufacture of ICs, it should be understood that the lithographic apparatus described herein may have other applications, such as the manufacture of integrated optical systems, guidance and detection patterns for magnetic domain memories, flat-panel displays, liquid-crystal displays (LCDs), thin-film magnetic heads, etc. The skilled artisan will appreciate that, in the context of such alternative applications, any use of the terms “wafer” or “die” herein may be considered as synonymous with the more general terms “substrate” or “target portion", respectively. The substrate referred to herein may be processed, before or after exposure, in for example a track (a tool that typically applies a layer of resist to a substrate and develops the exposed resist), a metrology tool and/or an inspection tool. Where applicable, the disclosure herein may be applied to such and other substrate processing tools. Further, the substrate may be processed more than once, for example in order to create a multi-layer IC, so that the term substrate used herein may also refer to a substrate that already contains multiple processed layers.
[0042] Although specific reference may have been made above to the use of embodiments of the invention in the context of optical lithography, it will be appreciated that the invention may be used in other applications, for example imprint lithography, and where the context allows, is not limited to optical lithography. In imprint lithography a topography in a patterning device defines the pattern created on a substrate. The topography of the patterning device may be pressed into a layer of resist supplied to the substrate whereupon the resist is cured by applying electromagnetic radiation, heat, pressure or a combination thereof. The patterning device is moved out of the resist leaving a pattern in it after the resist is cured.
[0043] The terms “radiation” and “beam” used herein encompass all types of electromagnetic radiation, including ultraviolet (UV) radiation (e.g. having a wavelength of or about 365, 248, 193, 157 or 126 nm) and extreme ultra-violet (EUV) radiation (e.g. having a wavelength in the range of 5-20 nm), as well as particle beams, such as ion beams or electron beams.
[0044] The term “lens”, where the context allows, may refer to any one or combination of various types of optical components, including refractive, reflective, magnetic, electromagnetic and electrostatic optical components.
[0045] While specific embodiments of the invention have been described above, it will be appreciated that the invention may be practiced otherwise than as described. For example, the invention may take the form of a computer program containing one or more sequences of machine-readable instructions describing a method as disclosed above, or a data storage medium (e.g. semiconductor memory, magnetic or optical disk) having such a computer program stored therein.
[0046] The descriptions above are intended to be illustrative, not limiting. Thus, it will be apparent to one skilled in the art that modifications may be made to the invention as described without departing from the scope of the clauses set out below. Other aspects of the invention are set out as in the following numbered clauses; 1. A lithographic apparatus arranged to transfer a pattern from a patterning device onto a substrate, the lithographic apparatus comprising: a processor configured to control a part of the lithographic apparatus; a program memory configured to store a program; and a working memory configured to be used by the processor during execution of the program, the program including program instmctions to be executed by the processor for: monitoring a process of the program that is associated with a request for working memory allocation or a request for working memory freeing, or both, storing a trace of the working memory allocation in a trace memory if the working memory allocation is executed, deleting a stored trace from the trace memory if the working memory freeing is executed, and deriving a working memory occupation from one or more traces stored in the trace memory.
2. The lithographic apparatus according to clause 1, wherein deriving the working memory occupation from the one or more traces stored in the trace memory comprises determining a number of traces stored in the trace memory.
3. The lithographic apparatus according to clause 1 or 2, wherein deriving the working memory occupation from the one or more traces stored in the trace memory comprises seeking in the traces a repetition of working memory allocation requests from the process.
4. The lithographic apparatus according to any of the preceding clauses, wherein the program is arranged to start the storing the trace in the trace memory and deleting the stored trace from the trace memory in response to a starting command.
5. The lithographic apparatus according to any of the preceding clauses, wherein the storing the trace in the trace memory comprises storing data in the trace memory that enables to retrieve an operating state of the lithographic apparatus, the program being arranged to store the data enabling to retrieve the operating state of the lithographic apparatus at a beginning and/or at a completion of an operation by the lithographic apparatus .
6. The lithographic apparatus according to any of the preceding clauses, wherein the program comprises a plurality of program processes, the program comprising program instructions configured to, upon execution of a working memory allocation request or a working memory free request, detect if a trigger has been set for the program process, and to perform the storing of the trace in the trace memory respectively deleting the stored trace from the trace memory if the trigger has been set for the program process.
7. The lithographic apparatus according to any of the preceding clauses, wherein the deriving a working memory occupation from the traces as stored in the trace memory comprises generating a trace report in response to a reporting trigger.
8. An apparatus comprising a processor, a program memory configured to store a program including program instructions, and a working memory configured to be used by the program during execution thereof, the program including program instructions to be executed by the processor for: monitoring a process of the program that is associated with a request for working memory allocation or a request for working memory freeing, or both, storing a trace of the working memory allocation in a trace memory if the working memory allocation is executed, deleting a stored trace from the trace memory if the working memory freeing is executed, and deriving a working memory occupation from one or more traces stored in the trace memory.
9. A method to detect a memory leak in an apparatus, the apparatus comprising a processor, a program memory configured to store a program encoded including program instructions, and a working memory configured to be used by the program during execution thereof for: monitoring a process of the program that is associated with a request for working memory allocation or a request for working memory freeing, or both, storing a trace of the working memory allocation in a trace memory if the working memory allocation is executed, deleting a stored trace from the trace memory if the working memory freeing is executed, and deriving a working memory occupation from one or more traces stored in the trace memory..
10. The method according to clause 9, wherein deriving the working memory occupation from the one or more traces as stored in the trace memory comprises determining an amount of traces as stored in the trace memory.
11. The method according to clause 9 or 10, wherein deriving the working memory occupation from the one or more traces as stored in the trace memory comprises seeking in the traces a repetition of working memory allocation requests from the process.
12. The method according to any of clauses 9-11, wherein storing of the one or more trace in the trace memory and deleting the stored trace from the trace memory are started in response to a starting command.
13. The method according to any of clauses 9-12, wherein the storing the one or more traces in the trace memory comprises storing data in the trace memory that enables to retrieve an operating state of the apparatus, the program being arranged to store the data enabling to retrieve the operating state of the apparatus at a beginning and/or at a completion of an operation by the apparatus .
14. The method according to any of clauses 9 - 13, wherein the program comprises a plurality of program processes, and wherein upon execution of a working memory allocation request or a working memory free request by a program process, the method includes detecting if a trigger has been set for the program process and wherein storing of the trace in the trace memory respectively deleting the stored trace from the trace memory are performed if the trigger has been set for the program process.
15. The method according to nay of clauses 9 - 14, wherein the apparatus comprises a lithographic apparatus.
权利要求:
Claims (1)
[1]
A lithography device comprising: an exposure device adapted to provide a radiation beam; a carrier constructed to support a patterning device, the patterning device being capable of applying a pattern in a section of the radiation beam to form a patterned radiation beam; a substrate table constructed to support a substrate; and a projection device adapted to project the patterned radiation beam onto a target area of the substrate, characterized in that the substrate table is adapted to position the target area of the substrate in a focal plane of the projection device.
类似技术:
公开号 | 公开日 | 专利标题
US9726988B2|2017-08-08|Multi-stage system, a control method therefor, and a lithographic apparatus
KR101022395B1|2011-03-15|Position measurement system and lithographic apparatus
US6937318B2|2005-08-30|Lithographic apparatus, computer program, device manufacturing method, and device manufactured thereby
US9904180B2|2018-02-27|Lithographic method and apparatus
US7936443B2|2011-05-03|Lithographic apparatus and device manufacturing method
KR101421540B1|2014-07-22|Reticle assembly, a lithographic apparatus, and a method to project two or more image fields in a single scanning movement of a lithographic process
JP4643627B2|2011-03-02|Focus test execution method and device manufacturing method
US7547495B2|2009-06-16|Device manufacturing method and computer program product
NL2006773A|2011-12-27|Lithographic apparatus.
EP2093617A2|2009-08-26|Mark structure for coarse wafer alignment and method for manufacturing such a mark structure
NL2004392A|2010-10-18|Lithographic apparatus, control system, multi-core processor, and a method to start tasks on a multi-core processor.
US7227614B2|2007-06-05|Measurement method, device manufacturing method and lithographic apparatus
NL2009827A|2013-06-26|A stage system and a lithographic apparatus.
US20090180084A1|2009-07-16|Lithographic apparatus with an encoder arranged for defining a zero level
NL2006518A|2011-11-21|Lithographic apparatus and memory leak detection method.
US7616291B2|2009-11-10|Lithographic processing cell and device manufacturing method
NL2016836A|2017-01-17|Position measurement system and lithographic apparatus
US8112752B2|2012-02-07|Method for performing a software process, controller and lithographic apparatus
US8441616B2|2013-05-14|Lithographic apparatus and device manufacturing method
NL2019151A|2018-02-14|Alignment mark recovery method, lithographic apparatus and device manufacturing method
NL2008468A|2012-10-12|Lithographic apparatus and device manufacturing method.
US20120188528A1|2012-07-26|Lithographic Apparatus and Device Manufacturing Method
NL2006843A|2012-01-09|Control system, lithographic apparatus, and method to control a position of a movable object.
同族专利:
公开号 | 公开日
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题

法律状态:
2013-04-10| WDAP| Patent application withdrawn|Effective date: 20120604 |
优先权:
申请号 | 申请日 | 专利标题
US34530910P| true| 2010-05-17|2010-05-17|
US34530910|2010-05-17|
[返回顶部]